package com.code.gen.dao;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.code.gen.bean.bo.database.CodeGenField;
import com.code.gen.bean.bo.database.CodeGenTable;

/**
 * 数据库表Dao
 * 
 * @author liu
 * @date 2021-03-24
 */
public interface DbDao<T> extends BaseMapper<T> {

    /**
     * 获取当前连接的数据库名称
     * 
     * @return
     */
    String getDatabaseName();

    /**
     * 获取建表语句
     * 
     * @param tableName
     * @return
     */
    Map<String, String> getTableSql(String tableName);

    /**
     * 获取表信息
     * 
     * @param dbName
     * @param tableNames
     * @return
     */
    List<CodeGenTable> getTables(String dbName, String[] tableNames);

    /**
     * 获取字段信息
     * 
     * @param dbName
     * @param tableName
     * @return
     */
    List<CodeGenField> getFields(String dbName, String tableName);

}